From c3eebec293e35b997bb46c22fb5a4e114afb5e7f Mon Sep 17 00:00:00 2001
From: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com>
Date: Sat, 13 Feb 2021 19:32:08 -0800
Subject: [PATCH] configure.ac: fix __xmknod{,at} pointer argument

Switch default to assume * and not the absence of *.

On glibc 2.33+, there is no definition for these functions in header
files, so the compile test doesn't work. But, we can default to using
the pointer (as is the case with newer glibc), and use the header file
on older platforms to fail the test and use no pointer.

Signed-off-by: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com>
---
 configure.ac | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/configure.ac b/configure.ac
index 73415d2..d85566f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -183,13 +183,13 @@ AC_MSG_CHECKING([for type of arg of __xmknod])
   ]], [[
        int __xmknod  ( int ver,
                        const char *pathname ,
-                       mode_t  mode ,  dev_t dev);
+                       mode_t  mode ,  dev_t *dev);
   ]])],[
-   AC_DEFINE(XMKNOD_FRTH_ARG,)
-   AC_MSG_RESULT([no extra *])
-  ],[
    AC_DEFINE(XMKNOD_FRTH_ARG,[*])
    AC_MSG_RESULT([needs *])
+  ],[
+   AC_DEFINE(XMKNOD_FRTH_ARG,)
+   AC_MSG_RESULT([no extra *])
 
   ])
 
@@ -210,13 +210,13 @@ AC_MSG_CHECKING([for type of arg of __xmknodat])
        int __xmknodat  ( int ver,
                          int dirfd,
                          const char *pathname ,
-                         mode_t  mode ,  dev_t dev);
+                         mode_t  mode ,  dev_t *dev);
   ]])],[
-   AC_DEFINE(XMKNODAT_FIFTH_ARG,)
-   AC_MSG_RESULT([no extra *])
-  ],[
    AC_DEFINE(XMKNODAT_FIFTH_ARG,[*])
    AC_MSG_RESULT([needs *])
+  ],[
+   AC_DEFINE(XMKNODAT_FIFTH_ARG,)
+   AC_MSG_RESULT([no extra *])
 
   ])
 
-- 
GitLab

